package operator;

/**
 * @author shkstart
 * @date 2022/4/2 - 21:28
 */
public class SwapValues {
    public static void main(String[] args) {
//        交换俩个变量的值
        int num1 = 10;
        System.out.println("num1 = " + num1);
        int num2 = 30;
        System.out.println("num2 = " + num2);
//        方式1：定义临时变量的方式
//        int temp = num1;
//        num1 = num2;
//        num2 = temp;
//        方式2：好处，不用定义变量
//        弊端：① 相加操作可能超出存储范围 ② 有局限性：只适用于数值类型
//        num1 = num1 + num2;
//        num2 = num1 - num2;
//        num1 = num1 - num2;
//        方式3：使用位运算符
//        有局限性：只适用于数值类型
        num1 = num1 ^ num2;
        num2 = num1 ^ num2;
        num1 = num1 ^ num2;
        System.out.println("num1 = " + num1 + ",num2 = " + num2);
    }
}
